// 1. 测试char *拼接

#include <iostream>
#include <string.h>

int main(void)
{
  // char msg[50] = {'\0'};// 初始化空字符串
  char msg[50] = ""; // 初始化空字符串
  // char msg[50]; // 空字符数组
  int i = 0;

  // const int a = i + 1;
  // strcpy(msg, strcat("msg", (char *)&a));
  // strcat(msg, strcat(msg, (char *)&a));

  // strcat(strcat(msg, "msg"), "1"); // msg1

  // strcat(msg, "msg");
  // strcat(msg, "1"); // msg1

  // strcat(strcat(msg, "msg"), (char *)&a); // msg 不行

  // strcat(strcat(msg, "msg"), (char *)(i + 1));// warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

  char temp[10];
  temp[0] = (i + 1) + '0'; //转字符
  temp[1] = '\0';

  // int -> char* https://blog.csdn.net/jacke121/article/details/80235064

  strcat(strcat(msg, "msg"), temp);
  std::cout
      << "msg : " << msg << std::endl;
  printf("-----------------end-----------------\n");
  return 0;
}